package com.tx.admin.controller.vo;

import java.util.HashMap;
import java.util.Map;

import com.tx.admin.util.common.ReflectionUtils;

import lombok.Data;

@Data
public class EntityVo<E> extends SuperVo{

	private E entity;
	

	public static EntityVo<?> toMap(Object obj) {
		Map<String,Object> map = new HashMap<>();
		ReflectionUtils.getAllDeclaredFields(obj.getClass())
		.forEach(val -> {
			map.put(val.getName(), ReflectionUtils.invokeGetter(obj, val.getName()));
		});
		
		EntityVo<Object> vo =	new EntityVo<>();
		vo.setEntity(map);
		return vo;
	}
}
